Entities are increasingly reliant on computer software systems to operate and manage processes and data. Many entities use business process software and platforms to store, access, retrieve and utilize data. Business process software systems use “business objects” to represent real-world items used during the transaction of business. For example, a business object may represent a business document such as a sales order, a purchase order, or an invoice. A business object may also represent items such as a product, a business partner, or a piece of equipment.
A business object may include business logic and/or data having any suitable structure. The structure of a business object may be determined based on the requirements of a business scenario in which the business object is to be deployed. A business solution for a particular business scenario may include many business objects, where the structure of each business object has been determined based on the requirements of the particular business scenario.
Many business processes use business objects that include attributes or information that is spread or used across multiple business object nodes. For example, in a business process related to managing sales orders, one business object may represent data associated with sales orders, including a sales order identifier, a customer identifier, a customer phone number, etc. The customer identifier and phone number may be used by other business objects in addition to the sales order business object. In a typical user interface, a screen may be presented to a user to perform certain business tasks (e.g., such as to update or enter information associated with a sales order). A typical screen for such a task may contain data entry or selection fields with data elements or attributes belonging to several different business objects.
As a result, the attributes or data needed to create and update the screen requires consulting multiple business object nodes. Retrieving each of those attributes requires multiple disk or memory access operations. Such operations are expensive in terms of processing and operation overhead. The problem can be exacerbated when attributes must be accessed which are not shown on the screen. In general, such operations require substantial processing and operation overhead.
It would be desirable to reduce such processing and operation overhead, and reduce the number of operations required to access certain attributes which are shared among different screens. It would further be desirable to ensure that such operations do not affect the editing or writing of those attributes.